package com.violet.common.constant.business;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @Author: wqf
 * @Date: 2022/09/28
 * @Description: 时间相关常量
 */
public class TimeEnums {
    /**
     * 时间格式常量
     */
    @Getter
    @AllArgsConstructor
    public enum DateFormat {
        /**
         * 时间格式：yyyy-MM-dd HH:mm:ss
         */
        LOCAL_DATE_TIME_FORMAT("yyyy-MM-dd HH:mm:ss"),

        /**
         * 时间格式：yyyy-MM-dd
         */
        LOCAL_DATE_FORMAT("yyyy-MM-dd"),

        /**
         * 时间格式：yyyy-MM
         */
        MONTH_TIME_FORMAT("yyyy-MM"),
        /**
         * 时间格式：HH:mm:ss
         */
        LOCAL_TIME_FORMAT("HH:mm:ss"),
        /**
         * 时间格式：HH:mm
         */
        TIME_FORMAT("HH:mm");

        private final String format;

    }

    /**
     * 时间维度
     */
    @Getter
    @AllArgsConstructor
    public enum TimeDimension {
        /**
         * 分钟
         */
        MINUTE(0),
        /**
         * 小时
         */
        HOUR(1),
        /**
         * 天
         */
        DAY(2),
        /**
         * 月
         */
        MONTH(3),
        /**
         * 年
         */
        YEAR(4),
        /**
         * 时间区间段
         */
        INTERVAL(5);

        private final int value;
    }

    /**
     * 时区常量
     */
    @Getter
    @AllArgsConstructor
    public enum TimeZone {
        /**
         * 东八区
         */
        TIME_ZONE_GMT8("GMT+8");

        private final String zone;
    }

}
